'\" te
.\" Copyright (C) 1998-2003, Carnegie Mellon Univeristy.  All Rights Reserved.
.\" Portions Copyright (C) 2003, Sun Microsystems,
.\" Inc. All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH SASL_ENCODE64 3SASL "Sep 16, 2003"
.SH NAME
sasl_encode64 \- encode base64 string
.SH SYNOPSIS
.LP
.nf
\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lsasl\fR   [ \fIlibrary\fR ... ]
#include <sasl/saslutil.h>

\fBint\fR \fBsasl_encode64\fR(\fBconst char *\fR\fIin\fR, \fBunsigned\fR \fIinlen\fR, \fBchar *\fR\fIout\fR,
     \fBunsigned\fR \fIoutmax\fR, \fBunsigned *\fR\fIoutlen\fR);
.fi

.SH DESCRIPTION
.sp
.LP
Use the \fBsasl_encode64()\fR interface to convert an octet string into a
base64 string. This routine is useful for SASL profiles that use base64, such
as the IMAP (IMAP4) and POP (POP_AUTH) profiles. The output is null-terminated.
If \fIoutlen\fR is non-\fINULL\fR, the length is placed in the \fIoutlen\fR.
.SH PARAMETERS
.sp
.ne 2
.na
\fB\fIin\fR\fR
.ad
.RS 10n
Input data.
.RE

.sp
.ne 2
.na
\fB\fIinlen\fR\fR
.ad
.RS 10n
The length of the input data.
.RE

.sp
.ne 2
.na
\fB\fIout\fR\fR
.ad
.RS 10n
The output data. The value of \fIout\fR can be the same as \fIin\fR. However,
there must be enough space.
.RE

.sp
.ne 2
.na
\fB\fIoutlen\fR\fR
.ad
.RS 10n
The length of the actual output.
.RE

.sp
.ne 2
.na
\fB\fIoutmax\fR\fR
.ad
.RS 10n
The maximum size of the output buffer.
.RE

.SH RETURN VALUES
.sp
.LP
\fBsasl_encode64()\fR returns an integer that corresponds to a SASL error code.
.SH ERRORS
.sp
.ne 2
.na
\fB\fBSASL_OK\fR\fR
.ad
.RS 16n
The call to \fBsasl_encode64()\fR was successful.
.RE

.sp
.ne 2
.na
\fB\fBSASL_BUFOVER\fR\fR
.ad
.RS 16n
The output buffer was too small.
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Evolving
_
MT-Level	MT-Safe
.TE

.SH SEE ALSO
.sp
.LP
.BR sasl_errors (3SASL),
.BR attributes (7)
